<?xml version="1.0" encoding="UTF-8"?><rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	xmlns:series="http://organizeseries.com/"
	>

<channel>
	<title>Windows ストア アプリ &#8211; HTML5Experts.jp</title>
	<atom:link href="/tag/Windows ストア アプリ/feed/" rel="self" type="application/rss+xml" />
	<link>https://html5experts.jp</link>
	<description>日本に、もっとエキスパートを。</description>
	<lastBuildDate>Sat, 07 Jul 2018 03:14:05 +0000</lastBuildDate>
	<language>ja</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>https://wordpress.org/?v=4.7.19</generator>
	<item>
		<title>HTML5でネイティブアプリを作ろう！「Windowsストアアプリ」開発入門</title>
		<link>/osamum_ms/5940/</link>
		<pubDate>Mon, 07 Apr 2014 02:30:32 +0000</pubDate>
		<dc:creator><![CDATA[物江 修]]></dc:creator>
				<category><![CDATA[プログラミング]]></category>
		<category><![CDATA[Webアプリ]]></category>
		<category><![CDATA[Windows Store Apps]]></category>
		<category><![CDATA[Windows ストア アプリ]]></category>
		<category><![CDATA[Winodws8]]></category>

		<guid isPermaLink="false">/?p=5940</guid>
		<description><![CDATA[これまでのHTMLはオンライン上のドキュメントを記述する目的に設計され、発展してきましたが、HTML5ではそれに加え、アプリケーションのプラットフォームとしての仕様も盛り込まれています。 HTML5のマークアップや AP...]]></description>
				<content:encoded><![CDATA[<p>これまでのHTMLはオンライン上のドキュメントを記述する目的に設計され、発展してきましたが、HTML5ではそれに加え、アプリケーションのプラットフォームとしての仕様も盛り込まれています。</p>

<p>HTML5のマークアップや API、CSS3、SVGなどの関連技術を使用すれば、Webブラウザの独自の拡張機能に頼らずとも、Web標準から外れることなく、高機能なWebアプリケーションを開発することができるようになりました。また、HTML5とその関連技術が提供するさまざまな標準化された仕様は、Webブラウザ内で動作するコンテンツにとどまらず、クロスプラットフォーム開発が必要とされるネイティブアプリの開発でも使用されるようになっています。</p>

<p>こういったクロスプラットフォームのネイティブアプリの開発は、HTML5で記述されたWebページを、ターゲットとなるプラットフォームのネイティブアプリがホストするといった手法で実現されていますが、最近では、アプリのプラットフォーム自身が、HTML5 + JavaScriptによる開発をネイティブでサポートしているというものが増えてきています。</p>

<p>この流れはWindowsも例外ではなく、Windows 8で採用されたタッチデバイスに最適化された新しいUI環境で動作するネイティブアプリは、HTML5+JavaScriptを使用して開発することができます。</p>

<p>この記事ではHTML5で作成できるネイティブアプリとして、Windowsストアアプリについて紹介します。</p>

<h2>Windowsストアアプリ</h2>

<p>Windowsストアアプリは、Windows 8から採用され、かつてMetroと呼ばれていた、タッチデバイスに最適化された新しいUI環境(※)上で動作するアプリです。<br><span style="font-size:10px">(※) Windows 8の新しいUI画面のことを「モダン UI」とする表記をよく見ますが、Microsoftとしては特に正式な名前は付けてはいません。</span></p>

<p>この新しいUI環境はタッチデバイスでの操作に最適化されており、キーボードやマウスがないタブレット型デバイスでも、タッチによる操作ですべての機能が使えるよう設計されています。また、同様にタッチデバイスをサポートしていない従来のPCであっても、マウスとキーボードですべての操作が行えるように作られています。</p>

<p>Windows 8の新しいUI環境は、Windows OSを起動した直後に表示されるスタート画面に採用され、大きな特徴となっています。</p>

<p align="center">
<a href="https://html5experts.jp/wp-content/uploads/2014/04/image.png" data-wpel-link="external" target="_blank" rel="follow external noopener noreferrer"><img width="385" height="212" title="image" style="margin-right: auto;margin-left: auto;float: none" alt="image" src="/wp-content/uploads/2014/04/image_thumb.png" border="0"></a><br>(Windows 8の新しいUI画面)&nbsp;&nbsp;&nbsp; <br></p>

<p>また、もうひとつの特徴として、Windows 8は、Intelアーキテクチャで作られた従来のPCのほかに、低電力、低クロックで低電力、低クロックで動作するARMデバイス向けのOSとしても提供されています。Windowsストアアプリの多くは、アーキテクチャの異なるARMデバイス上でもそのまま動作します。</p>

<h2>Windowsストアアプリの特徴</h2>

<p>Windowsストアアプリは、そのプラットフォームであるWindows 8の新しいUI環境の仕様に準じ、タッチデバイス、特にモバイルタブレットからの利用を想定して設計されています。従来のWindowsデスクトップアプリケーションとは異なり、自由にサイズ変更可能なウィンドウや、単一アプリケーションによる複数ウィンドウの使用、モーダル/モーダレスいずれのダイアログボックスもサポートしません。</p>

<p>また、リソースの消費を抑えるためにウィンドウがフォアグラウンド(画面が表示されている)状態でしか動作しないという特徴を持っています。この仕様はスマートフォンやタブレット用のアプリを思い浮かべていただければわかりやすいでしょう。</p>

<p align="center"><a href="https://html5experts.jp/wp-content/uploads/2014/04/image1.png" data-wpel-link="external" target="_blank" rel="follow external noopener noreferrer"><img width="330" height="208" title="image" style="border: 0px currentcolor;margin-right: auto;margin-left: auto;float: none" alt="image" src="/wp-content/uploads/2014/04/image_thumb1.png" border="0"></a>

  <br>(タッチ前提のデザイン)</p>

<h2>アプリの動作環境</h2>

<p>Windows 8には、プログラムの動作する環境 (プラットフォーム)として、従来のデスクトップ環境に加え、Windowsストア アプリを動作させるための環境が用意されています。これら2つの環境は、プラットフォームとして完全に独立しており、OSの根底であるWindowsコア OSサービスの上で並列に動作します。</p>

<p>2つのプラットフォームで動作するプログラムは、お互いにアーキテクチャが異なるため、バイナリ的な互換はありません。デスクトップ用アプリケーション用に作られたdllなどはWindowsストアアプリでは動作せず、同様にWindowsストアアプリ用のコンポーネントもデスクトップアプリケーションから使用することはできません。</p>

<p>この状況は、1つのOSの上に、まったく異なる2つのプラットフォームが存在している、例えば、ひとつのコンピューター上に、MacOSとiOSが共存している感じといえばわかりやすいでしょう。</p>

<p align="center"><a href="https://html5experts.jp/wp-content/uploads/2014/04/image2.png" data-wpel-link="external" target="_blank" rel="follow external noopener noreferrer"><img width="390" height="237" title="image" style="border: 0px currentcolor;margin-right: auto;margin-left: auto;float: none" alt="image" src="/wp-content/uploads/2014/04/image_thumb2.png" border="0"></a><br>(Windowsアプリとデスクトップアプリケーションのプラットフォーム)</p>

<h2>開発言語</h2>

<p>WindowsストアアプリはJavaScriptのほか、C、C++、C#、VBと言った複数の言語で開発することができます。各言語には相互運用性があり、例えば、C++やC#で作成したWindowsストアアプリ用のライブラリを、アプリ内のJavaScriptやその他の異なる開発言語から使用することができます。</p>

<p>また、Windowsストアアプリには.NET FrameworkやWin32 APIは存在しませんが、Windowsストアアプリ用に提供されているWindows ランタイム(WinRT API)には、一般的によく使用される.NET FrameworkやWin32 APIと同名の名前空間、クラス名、同じ名前と引数を持った関数などが用意されています。そのことにより、ソースコードを記述する際には、ランタイムの違いを特に意識することなく、それまでのスキルセットを活かして開発を行うことができます。</p>

<h2>開発環境とツール</h2>

<h3>オペレーティングシステム</h3>

<p>Windowsストアアプリを開発する環境として、最新のWindows 8 OSが必要です。現在の最新のWindows 8 OSは <a title="Windows 8.1" href="http://windows.microsoft.com/ja-JP/windows-8/meet" target="_blank" data-wpel-link="external" rel="follow external noopener noreferrer">Windows 8.1</a>です。ハードウェアは、Windows 8のインテル版が動作するものであればなんでもかまいません。<a title="iOS 開発者向けリソース" href="http://msdn.microsoft.com/library/windows/apps/jj680134.aspx" target="_blank" data-wpel-link="external" rel="follow external noopener noreferrer">Macでもかまいません</a>。</p>

<h3>Visual Studio </h3>

<p>Windows 8用のストアアプリを開発するには<a href="http://www.microsoft.com/ja-jp/dev/default.aspx" target="_blank" data-wpel-link="external" rel="follow external noopener noreferrer"> Microsoft Visual Studio 2013</a>を使用します。<br />Microsoft Visual Studioは、複数の開発製品をまとめた “開発製品スイート”であり、ハードウェアと密接に関係するデバイスドライバーからWebアプリケーションまでWindows OS上で動作するあらゆるアプリケーションを開発することができます。プラットフォームもPC用にとどまらず、組み込み(<a href="http://www.microsoft.com/windowsembedded/ja-jp/evaluate/what-is-windows-embedded.aspx" data-wpel-link="external" target="_blank" rel="follow external noopener noreferrer">Windows Embedded</a>)、電話(<a href="https://dev.windowsphone.com/en-us/downloadsdk" data-wpel-link="external" target="_blank" rel="follow external noopener noreferrer">Windows Phone</a>)用のOS上で動作するアプリケーションを開発することができます。</p>

<p>Visual Studio 2013は用途に合わせ複数のエディションが用意されていますが、いずれのエディションでもWindowsストアアプリの開発が可能です。</p>

<p align="center"><a href="https://html5experts.jp/wp-content/uploads/2014/04/image3.png" data-wpel-link="external" target="_blank" rel="follow external noopener noreferrer"><img width="380" height="255" title="image" style="border: 0px currentcolor;margin-right: auto;margin-left: auto;float: none" alt="image" src="/wp-content/uploads/2014/04/image_thumb3.png" border="0"></a><br>(Visual Studio 2013 の画面)</p>

<p>&lt;参考&gt;<strong>エディションとの比較</strong> 

  <br><a href="http://www.microsoft.com/visualstudio/jpn/products/compare" data-wpel-link="external" target="_blank" rel="follow external noopener noreferrer">http://www.microsoft.com/visualstudio/jpn/products/compare</a></p>

<p>また、Visual Studio 2013からWindowsストアアプリの開発に必要な機能のみ抽出した無償の<a title="Visual Studio Express 2013 for Windows" href="http://www.microsoft.com/click/services/Redirect2.ashx?CR_EAC=300135396" target="_blank" data-wpel-link="external" rel="follow external noopener noreferrer">Visual Studio Express 2013 for Windows</a>を使用することもできます。<br />Visual Studio 2013の基本的な使い方については、以下のドキュメントをご参照ください</p>

<p><strong>Visual Studioでのアプリケーション開発 
    <br></strong><a href="http://msdn.microsoft.com/ja-jp/library/vstudio/h8w79z10.aspx" data-wpel-link="external" target="_blank" rel="follow external noopener noreferrer">http://msdn.microsoft.com/ja-jp/library/vstudio/h8w79z10.aspx</a><br></p>

<h3>Blend for Visual Studio</h3>

<p>WindowsストアアプリのUIをグラフィカルに開発するためのツールです。<br />特にWindowsストアアプリのJavaScriptテンプレートは、Visual Studio 2013ではUIのデザイン画面を表示する機能を搭載していないので、GUIでUIのデザインを行いたい場合はBlend for Visual Studioを使用します。</p>

<p>Blend for Visual Studioは単体でインストールする必要はなく、Visual Studio 2013をインストールすると一緒にインストールされます。これは無償のExpressエディションでも同様です。</p>

<p align="center"><a href="https://html5experts.jp/wp-content/uploads/2014/04/image4.png" data-wpel-link="external" target="_blank" rel="follow external noopener noreferrer"><img width="380" height="238" title="image" style="border: 0px currentcolor;margin-right: auto;margin-left: auto;float: none" alt="image" src="/wp-content/uploads/2014/04/image_thumb4.png" border="0"></a><br>(Blend for Visual Studio)</p>

<p>Blend for Visual Studioについての使い方などの関する詳しい情報については、以下のドキュメントをご参照ください。</p>

<p><strong>Blend for Visual Studio 
    <br></strong><a href="http://msdn.microsoft.com/ja-jp/library/windows/apps/xaml/jj129478.aspx" data-wpel-link="external" target="_blank" rel="follow external noopener noreferrer">http://msdn.microsoft.com/ja-jp/library/windows/apps/xaml/jj129478.aspx</a></p>

<h3>シミュレーター</h3>

<p>Windows 8タブレットマシンの動作をシミュレートするシミュレーターです。タッチ、ズームイン/ズームアウト、画面の回転、解像度の変更、GPSなどの機能をシミュレートできるので、タッチデバイスやタブレットマシンや、解像度の異なる複数のデバイスを持っていなくてもある程度のテストや動作検証を行えるようになっています。</p>

<p align="center"><a href="https://html5experts.jp/wp-content/uploads/2014/04/image5.png" data-wpel-link="external" target="_blank" rel="follow external noopener noreferrer"><img width="380" height="242" title="image" style="border: 0px currentcolor;margin-right: auto;margin-left: auto;float: none" alt="image" src="/wp-content/uploads/2014/04/image_thumb5.png" border="0"></a><br>(シミュレーター)</p>

<p>シミュレーターは、それ自体を単体でインストールする必要はなく、Visual Studio 2013をインストールすると一緒にインストールされます。</p>

<p>起動は、Visual Studio 2013のツールバーから行います。</p>

<p align="center"><a href="https://html5experts.jp/wp-content/uploads/2014/04/image6.png" data-wpel-link="external" target="_blank" rel="follow external noopener noreferrer"><img width="212" height="129" title="image" style="border: 0px currentcolor;margin-right: auto;margin-left: auto;float: none" alt="image" src="/wp-content/uploads/2014/04/image_thumb6.png" border="0"></a><br>(Visual Studio 2013 のシミュレーターの起動メニュー)</p>

<p>尚、シミュレーターの使い方についてのより詳しい情報は、以下のドキュメントをご参照ください。</p>

<p><strong>シミュレーターでのアプリの実行</strong> 

  <br><a href="http://msdn.microsoft.com/library/windows/apps/hh441475.aspx" data-wpel-link="external" target="_blank" rel="follow external noopener noreferrer">http://msdn.microsoft.com/library/windows/apps/hh441475.aspx</a></p>

<h2>HTML+JavaScriptで動作するWindowsストアアプリの仕組み</h2>

<p>Windowsストアアプリは、HTML+JavaScriptを使用して開発できるネイティブアプリです。ネイティブアプリなのでWebブラウザ内で動作するWebコンテンツよりも強い権限で動作し、OSやハードウェアのさまざまな機能を利用し高機能なアプリを開発することができますが、開発方法はWebコンテンツを制作するのとそれほど大きく変わりません。JavaScritpを使用してWindowsストアアプリを作成する際に使用されるテクノロジーは以下の3つです。</p>

<ol>
  <li><strong>HTML5</strong></li>

  <li><strong>CSS3</strong></li>

  <li><strong>JavaScript</strong></li>
</ol>

<p>実際に使用されるライブラリは、以下の3つです。</p>

<ol>
  <li><strong>Trident</strong><br>Internet Explorerと共通の描画エンジンです。 

    <br>CSSやHTMLのマークアップの解析を行い、画面を描画し、JavaScriptにDOM(Document Object Model)を提供します。 

    <br>HTML5とCSS3の描画とAPIをサポートしています。 

    <br>&nbsp;&nbsp;&nbsp;</li>

  <li><strong>WinRT(Windows Runtime)</strong>&nbsp;&nbsp; <br>JavaScriptからWindows OSの機能を使用するためのライブラリです。 

    <br> 通称、WinRTと呼ばれ、このライブラリの提供するクラスはWindowsというネームスペースから始まります。 

    <br>このライブラリを使用することにより、Windows OSが管理している、ファイル、フォルダ、リムーバブルディスク、Webカムのようなハードウェア、様々なセンサーデバイスを使用することができます。 

    <br>&nbsp; </li>

  <li><strong>WinJS (Windows Library for JavaScript)</strong>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <br>通称、WinJSと呼ばれ、WinRTがJavaScriptに Windows OSのリソースを提供するのに対し、WinJSは、Windowsストアアプリのリソース、例えば、リッチなコントロール、データバインドの仕組み、Promiseモデルの非同期の仕組みなど、 Windowsストアアプリが既定でもっている機能を利用するためのライブラリです。 

    <br>このライブラリの提供するクラスは WinJSから始まります。&nbsp;<br></li>
</ol>

<p>上記のように、Windowsストアアプリでは Web標準技術 (Trident)、Windows OSの機能 (WinRT)、Windowsストアアプリケーションの基本的な機能 (WinJS)を組み合わせて開発を行っていきます。<br />そして、これらを WWWAHost.exeプロセスがホストします。</p>

<p align="center"><a href="https://html5experts.jp/wp-content/uploads/2014/04/image7.png" data-wpel-link="external" target="_blank" rel="follow external noopener noreferrer"><img width="420" height="242" title="image" style="border: 0px currentcolor;margin-right: auto;margin-left: auto;float: none" alt="image" src="/wp-content/uploads/2014/04/image_thumb7.png" border="0"></a><br>(HTML + JvaScript&nbsp; Windowsストアアプリの構成)</p>

<p>WWWAHostは、Internet Explorerのスーパーセットであり、Internet Explorerより多くの機能を持ち、より強い権限で動作します。そのため Internet Explorer 11で動作するWebコンテンツであれば、一部セキュリティ的な制限はあるものの、ほぼそのまま Windowsストア アプリに移植することができます。<br></p>

<h2>HTML+JavaScriptで作る！<br>初めてのWindowsストアアプリ</h2>

<p>Windowsストアアプリの開発は、Windows 8.xとVisual Studioがインストールされたコンピュータがあれば誰でも簡単に始めることができます。</p>

<p>ここでは画面に「Hello World.」と表示する簡単なWindowsストアアプリの作成手順を紹介します。 
  <br>尚、環境は現在最新のWindows 8.1 + Visual Studio 2013を使用します。</p>

<p>具体的な手順は以下のとおりです。</p>

<ol>
  <li>Visual Studio 2013を起動し、メニュー [ファイル] – [新規作成] – [プロジェクト]を選択します。<br></li>

  <li>[新しい プロジェクト]ダイアログボックスが表示されるので、ダイアログボックス内・左の[テンプレート]ツリービューで [JavaScript]–[Wndows ストア]を選択し、中央のテンプレートリストで [空のアプリケーション]テンプレートを選択して[OK]ボタンをクリックします。 
    <p align="center">
<a href="https://html5experts.jp/wp-content/uploads/2014/04/image8.png" data-wpel-link="external" target="_blank" rel="follow external noopener noreferrer"><img width="350" height="242" title="image" style="margin-right: auto;margin-left: auto;float: none" alt="image" src="/wp-content/uploads/2014/04/image_thumb8.png" border="0"></a>

</p>
<p align="center">Visual StudioのIDE内にアプリのひな形が展開されます。 

<br><a href="https://html5experts.jp/wp-content/uploads/2014/04/image9.png" data-wpel-link="external" target="_blank" rel="follow external noopener noreferrer"><img width="330" height="223" title="image" style="border: 0px currentcolor;margin-right: auto;margin-left: auto;float: none" alt="image" src="/wp-content/uploads/2014/04/image_thumb9.png" border="0"></a>

</p></li>

  <li>画面左の[ソリューションエクスプローラー]のツリービューに表示されている、default.htmlをダブルクリックして開きます。 

<p align="center"><a href="https://html5experts.jp/wp-content/uploads/2014/04/image10.png" data-wpel-link="external" target="_blank" rel="follow external noopener noreferrer"><img width="225" height="240" title="image" style="border: 0px currentcolor;margin-right: auto;margin-left: auto;float: none" alt="image" src="/wp-content/uploads/2014/04/image_thumb10.png" border="0"></a>

<br>Visual Studio IDE内のテキストエディタには、default.htmlのソースが表示されます。

 </p></li>

  
<li>default.htmlのソースのbodyタグ内の以下の部分を
    <p align="center"><a href="https://html5experts.jp/wp-content/uploads/2014/04/image11.png" data-wpel-link="external" target="_blank" rel="follow external noopener noreferrer"><img width="291" height="57" title="image" style="border: 0px currentcolor;margin-right: auto;margin-left: auto;float: none" alt="image" src="/wp-content/uploads/2014/04/image_thumb11.png" border="0"></a>

</p>以下のように書き換えます

    
<p align="center"><a href="https://html5experts.jp/wp-content/uploads/2014/04/image12.png" data-wpel-link="external" target="_blank" rel="follow external noopener noreferrer"><img width="255" height="68" title="image" style="border: 0px currentcolor;margin-right: auto;margin-left: auto;float: none" alt="image" src="/wp-content/uploads/2014/04/image_thumb12.png" border="0"></a>

</p></li>


<li>Visual Studioのメニュー[デバッグ]–[デバッグ開始]をクリックするか、キーボードの[F5]キーを押下します。
アプリが全画面で実行され、「Hello World.」の文字が表示されます。


<p align="center"><a href="https://html5experts.jp/wp-content/uploads/2014/04/image13.png" data-wpel-link="external" target="_blank" rel="follow external noopener noreferrer"><img width="302" height="170" title="image" style="border: 0px currentcolor;margin-right: auto;margin-left: auto;float: none" alt="image" src="/wp-content/uploads/2014/04/image_thumb13.png" border="0"></a></p></li>
</ol>

<p>これで最も簡単なWindowsストアアプリの完成です。デバッグを停止するには、キーボードの[Alt]+[Tab]キーで画面をVisual Studio に切り替え、メニュー[デバッグ]–[デバッグの停止]を選択します。</p>

<p>尚、より本格的なWidowsストアアプリの開発方法につきましては、以下にまとめた記事を書いていますので、ぜひご覧ください。</p>

<p>『HTML5で作るWindows 8アプリ』まとめリンク
  <br><a href="http://blogs.msdn.com/b/osamum/archive/2013/09/27/html5-windows-8-2.aspx" data-wpel-link="external" target="_blank" rel="follow external noopener noreferrer">http://blogs.msdn.com/b/osamum/archive/2013/09/27/html5-windows-8-2.aspx</a>

  <br></p>

<h2>まとめ</h2>

<p>今回はHTML5で作れるネイティブアプリとして、Windowsストアアプリを紹介しました。<br />今回は触れませんでしたが、Windowsストアアプリはネイティブアプリとして、Webアプリケーションからは使用することのできない、ファイルシステムや各種センサーといったハードウェアリソースも利用することができます。</p>

<p>また、Windows 8.1 からは、任意のユーザーアカウントに対し、特定のWindowsストアアプリの使用しか許可しないといった設定も可能であるため、業務に特化した専用機のようなものを作ることも可能です。</p>

<p>専用機の開発というと、これまで専用のハードを作成し、組込み用の特殊な技術を覚えて、といったことが必要でしたがWindowsストアアプリであれば今まで培ったWeb制作のスキルの延長線上で制作することが可能です。</p>

<p>この機会にぜひデバイスを含めた新しい価値の創造に挑戦してみてください。</p>
]]></content:encoded>
			</item>
	</channel>
</rss>
